package com.example.image

import android.content.Context
import android.widget.ImageView
import java.io.File

class ImageLoaderUtils(glide: ImageLoaderType) {
    var loader: ImageLoader? = null

//    constructor(imageLoaderType : ImageLoaderType){
//        loader = ImageLoader(imageLoaderType)
//    }
    internal object HOLDER {
        val imageLoaderUtils: ImageLoaderUtils = ImageLoaderUtils(ImageLoaderType.Glide)
    }

    fun getInstance(): ImageLoaderUtils {
        return HOLDER.imageLoaderUtils
    }

    fun loadFromUrl(context: Context, url: String, target: ImageView, options: ImageOptions) {
        loader!!.loadFromUrl(context, url, target, options)
    }


    fun loadFromFile(context: Context, file: File, target: ImageView, options: ImageOptions) {
        loader!!.loadFromFile(context, file, target, options)
    }


    fun loadFromResource(
        context: Context,
        resourceId: Int,
        target: ImageView,
        options: ImageOptions
    ) {
        loader?.loadFromResoure(context, resourceId, target, options)
    }
}